package com.cskaoyan.javase.file._3api;

/**
 * @description: 自定义获取功能
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import java.io.File;
import java.io.FileFilter;

/**
 * 自定义获取功能是在listFiles()方法的基础上完成的,是对目录下的文件对象做了一次筛选工作
 * 它使用listFiles(FileFilter f)方法,它需要传入一个过滤器对象,对目录下文件完成筛选
 *
 */
public class Demo3 {
    public static void main(String[] args) {
        File f = new File("E:\\2");
        /*File[] files = f.listFiles(new MyFileFilter());
        for (File file : files) {
            System.out.println(file.getName());
        }*/

        File[] files = f.listFiles((file) -> file.isFile() && file.getName().contains("学习资料"));
            //规则: 我只想看学习资料的相关视频
        for (File file : files) {
            System.out.println(file.getName());
        }
    }
}
class MyFileFilter implements FileFilter{
    @Override
    public boolean accept(File pathname) {
        //筛选规则,只有方法为true,才被添加进返回的File对象
        //规则1: 我只听歌曲
        return pathname.isFile() && pathname.getName().endsWith(".mp3");
    }
}
